$(document).ready(function(){
	var ctx = $("#ctx").val();//获取服务器地址
	
	//初始校验表单
 	if($("#validateForm").html()){
 		$("#validateForm").autovalidate();
 	}
 	
 	$("#footBtn .btn-save").click(function(){
 		var flag = "";
 		if($("#roleId").val() == ""){
 			flag = isExistName("");//判断角色名是否重复
 		}else{
 			flag = isExistName($("#oldName").val());
 		}
		if(flag){
			return false;
		}
		if (!$("#validateForm").validate()) {
			return false;
		}
		$("#validateForm").submit();
		return false;
	});
 	
 	$("#footBtn .btn-cancel, #footPersimissionBtn .btn-cancel").click(function(){
		window.location.href = ctx+"/back/main/role/list";
	});
 	
 	//批量开启,批量暂停
	$("#all-btn-enable,#all-btn-disable").click(function(){
		if($(this).attr("id") == "all-btn-enable"){
			url = ctx+"/back/main/role/enable";
		}else if($(this).attr("id") == "all-btn-disable"){
			url = ctx+"/back/main/role/unEnable";
		}
		batchOpear($(this),url);
	});
	
	//开启,暂停
	$("#btn-enable,#btn-disable,#btn-delete").click(function(){
		if($(this).attr("id") == "btn-enable"){
			url = ctx+"/back/main/role/enable";
		}else if($(this).attr("id") == "btn-disable"){
			url = ctx+"/back/main/role/unEnable";
		}else if($(this).attr("id") == "btn-delete"){
			url = ctx+"/back/main/role/deleteRole";
		}
		singleOper($(this),url);
		
	});
	
	$("#name").focus(function(){
		$(this).css("box-shadow","0 0 6px #ff0000");
	});
	
	$("#name").blur(function(){
 		if($("#roleId").val() == ""){
 			isExistName("");//判断角色名是否重复
 		}else{
 			isExistName($("#oldName").val());
 		}
	});
	
	$("#btn-permissions").click(function(){
		var checkboxs = $("table tbody .checkboxStyle_change");
		if(checkboxs.length != 1){
			bootbox.alert("请选择一个角色！");
			return false;
		}
		window.location.href = ctx+'/back/main/role/permission?roleId='+checkboxs.attr("id");
	});
	
	if($("#permissionForm").html()){
		$("table .menu-item").each(function(){
			var height = $(this).find(".menu-button").height();
			$(this).find(".menu-checkbox").css("line-height",height+"px");
		});
		if($("#resRoles").val() != ""){
			var idsArr = $("#resRoles").val().split(",");
			$("table input[type='checkbox']").each(function(){
				if($.inArray($(this).val(), idsArr) != -1){
					$(this).attr("checked",true);
				}
			});
		}
		
		$(".rootResource input[type='checkbox'], .rootResource .checkbox-label").click(function(){
			if($(this).parent(".rootResource").find("input[type='checkbox']").attr("checked")){
				$(this).parents("tr").find("input[type='checkbox']").attr("checked", true);
			}else{
				$(this).parents("tr").find("input[type='checkbox']").attr("checked", false);
			}
		});
		
		$(".menu .menu-checkbox input[type='checkbox'], .menu .menu-checkbox .checkbox-label").click(function(){
			if($(this).parent(".menu-checkbox").find("input[type='checkbox']").attr("checked")){
				$(this).parents(".menu-item").find(".button-checkbox input[type='checkbox']").attr("checked", true);
			}else{
				$(this).parents(".menu-item").find(".button-checkbox input[type='checkbox']").attr("checked", false);
			}
			var objLength =  $(this).parents(".menu").find(".menu-checkbox input[type='checkbox']:checked").length;
			if(objLength > 0){
				$(this).parents("tr").find(".rootResource input[type='checkbox']").attr("checked", true);
			}
		});
		
		$(".menu-button .button-checkbox input[type='checkbox'], .menu-button .button-checkbox .checkbox-label").click(function(){
			var objLength = $(this).parents(".menu-button").find(".button-checkbox input[type='checkbox']:checked").length;
			if(objLength > 0){
				$(this).parents(".menu-item").find(".menu-checkbox input[type='checkbox']").attr("checked", true);
			}
		});
	}
	
	$("#footPersimissionBtn .btn-save").click(function(){
		var resRoles = $("table.permissionTable input[type='checkbox']:checked").map(function(i){
    		return $(this).val();
    	}).toArray().join(',');
		$("#resRoles").val(resRoles);
		$("#permissionForm").submit();
		return false;
	});
	
});

function isExistName(oldName){
	var flag = false;
	var name = $("#name").val();
	if(oldName != "" && oldName == name){
		return false;
	}
	$.ajax({
       	type: "POST",
        url: $("#ctx").val()+"/back/main/role/isExist",
        async: false,
        data: {name:name},
         success: function(data){
	 		if(!data){
	 			$("#name").css("box-shadow","0 0 6px #ff0000").attr('title','你输入的角色名已存在！');
	 			$("#name").parent("div").find("span.spanVaildate").html("你输入的角色名已存在！");
	 			flag = true;
	 		}else{
	 			$("#name").css("box-shadow","none").attr('title','');
	 			$("#name").parent("div").find("span.spanVaildate").html("");
	 			flag = false;
	 		}
         }
	});
	return flag;
}